1. Field of the Invention
The present invention relates to a method, system and logic for decompressing and aligning line work data.
2. Description of the Related Art
To print an image, a print engine processor, referred to herein as a raster image processor, converts the image in a page description language or vector graphics format to a bit mapped image indicating a value to print at each pixel of the image. The bit mapped image is sent to the printer to cause the print heads to print the specified color value at the pixel according to the information in the bit map. If a printer has multiple print heads, such as a print head for different colors, then bit maps are generated for each print head. The print heads overlay the images defined by their respective bit maps onto the print medium.
To produce the bit maps for the print heads, the raster image processor performs numerous transformations on a print image, which may include different types of data, such as line art, e.g., text and graphics, and continuous tone (contone), e.g., images. The raster image processor usually performs operations such as data compression, color space conversion, and halftoning when generating the raster bit map to print. After dissecting a print image into different components, such as color components, text art, contone, images, etc., the raster image processor must then merge the different elements together so that the original image, previously split into different components, is reconstructed for the color plane process.
As newer printers print at ever higher resolutions and speeds, the amount of data needed to generate the print job correspondingly increases. One of the major limitations in increasing printer speed is the time required to rasterize print data, especially the time required by the raster image processor to break an image into different object components and then reassemble, screen and merge those components into a final bitmap image.
Thus, there is a need in the art to provide an improved method, system, and program to transform print data, such as text, vector graphics, images and raster data into a final rasterized bit maps in a more timely manner to increase printer throughput.
To overcome the limitations in the prior art described above, preferred embodiments disclose a method, system, and logic for receiving line work data and control data for pixels on a sheet from objects. The control data for one pixel indicates whether to use the line work color data for the pixel or contone raster object for the pixel. Further, multiple objects may provide line work data and control data for a same pixel. Line work and control data are simultaneously decompressed for a same set of pixels from the multiple objects and decompressed line work and control data are simultaneously aligned for a same set of pixels from the multiple objects. The simultaneously aligned line work and control data for the pixel from the multiple objects are buffered in a third buffer.
In further embodiments, line work and control data for multiple pixels from one object are simultaneously buffered in a decompression buffer. The line work and control data to decompress are accessed from the decompression buffer after sending the decompressed line work and control data to aligning logic.
In still further embodiments, the line work and control data for four pixels are buffered in aligning logic buffer to be aligned if the pixel position of the line work and control data for the first pixel of the four pixels is the same as a requested pixel position.
Still further, the control data from one object for a pixel can further indicate to not use either line work or contone data for the pixel. In such case, data indicating a clipping region is loaded. Before aligning the line work and control data for the pixel, the control data for one pixel in the aligning logic buffer is set to indicate to not use either line work or contone data for the pixel if the location of the pixel is within the clipping region.
Preferred embodiments provide hardware logic capable of simultaneously decompressing and aligning pixel data for a pixel location from multiple objects. This aligned pixel data from the multiple locations is then further processed to select line work and control data to use for the pixel from one of the multiple objects. Further, with the preferred embodiments, buffers are provided to buffer line work data at different stages so data is always available to the line work decompressor and aligner logic when one decompression or alignment operation completes. This allows the decompressor and aligner logic to operate concurrently on line work and control data for different sets of pixels.
With the hardware logic of the preferred embodiments, decompression, alignment, merging, and screening operations are offloaded to an external hardware card or processor thereby relieving the raster image processor of substantial processing burdens. This relief provided to the raster image processor improves the performance of the raster generation process and ultimately improves print speed by allowing final output raster data to be fed at a faster rate to the printer.